//////////////////////////////////////////////////////////////////////////////////
//	 Copyright 2011 by Yosef Grabivker, ryuho@homenetworksoft.com
//
//   Licensed under the Apache License, Version 2.0 (the "License");
//   you may not use this file except in compliance with the License.
//   You may obtain a copy of the License at
//
//     http://www.apache.org/licenses/LICENSE-2.0
//
//   Unless required by applicable law or agreed to in writing, software
//   distributed under the License is distributed on an "AS IS" BASIS,
//   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
//   See the License for the specific language governing permissions and
//   limitations under the License.
//////////////////////////////////////////////////////////////////////////////////

//////////////////////////
//sysdepapi.h
#ifndef __SYS_DEP_API_YG_H__
#define __SYS_DEP_API_YG_H__

typedef std::vector<std::string> IPLIST;

class CSysDepAPI
{
public:
								CSysDepAPI(void);
								~CSysDepAPI(void);

	static bool					IsLoadedAtStartUp();
	static void					SetLoadAtStartUp(bool bVal);
	static std::string			GetDefGateWay();
	static IPLIST				GetAddressList();
	//Get address in router's subnet
	static wxString				GetRelevantLocalIPAddress(const wxString& strRouterAddr);
	static wxString				GetLocalIPSettings();
	static wxString				GetLocalRoutingTable();
	static PROTOLIST			GetUDPProtoList();
	static PROTOLIST			GetTCPProtoList(const wxString& strRouterIP);
	static MACLIST				GetPCInterfacesMACList();	
};

#endif //__SYS_DEP_API_YG_H__
